import request from "../../utils/request";
export function upload(file) {
    return new Promise((resolve, reject) => {
        if (!file) {
            reject(new Error("文件不能为空"));
            return;
        }

        const formData = new FormData();
        formData.append('file', file);

        request.post('/common/upload', formData, {
            headers: {
                'Content-Type': 'multipart/form-data'
            },
            withCredentials: true
        }).then((response) => {
            console.log("response", response.data.data);
            // 检查业务状态码
            if (response.data.msg == null) {

                resolve(response.data.data);
            } else {
                // 业务逻辑错误，手动触发 catch
                reject(new Error(response.data?.msg || "上传失败"));
            }
        }).catch((error) => {
            // 统一错误处理
            if (error.response) {
                // HTTP 状态码非 2xx
                console.error("服务器响应错误:", error.response.status, error.response.data);
            } else if (error.request) {
                // 请求未发出（如 CORS 阻断）
                console.error("网络错误:", error.message);
            } else {
                // 代码逻辑错误
                console.error("请求配置错误:", error.message);
            }
            reject(error);
        });
    });
}
